package br.com.fatene.poo2.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import br.com.fatene.poo2.model.Conta;

public class ContaDao {

		
	public int salvar(Conta conta) throws SQLException {

		Connection conn = Conexao.obterConexao();

		String sql = "INSERT INTO conta (" 
				+ "agencia," 
				+ "numero,"
				+ "excluido," 
				+ "cliente_id," 
				+ "saldo" 
				+ ") " 
				+ "VALUES (?,?,?,?,?)";

		PreparedStatement stat = conn.prepareStatement(sql,	PreparedStatement.RETURN_GENERATED_KEYS);

		stat.setInt(1, conta.getAgencia());
		stat.setInt(2, conta.getNumero());
		stat.setBoolean(3, conta.isExcluido());
		stat.setInt(4, conta.getIdCliente());
		stat.setDouble(5, conta.getSaldo());

		stat.execute();

		ResultSet rs = stat.getGeneratedKeys();
		int id = 0;
		if (rs.next()) {
			id = rs.getInt(1);
		}
		System.out.println("Id gerado pelo insert foi " + id);

		stat.close();
		conn.close();

		return id;

	}

	public void update(Conta conta) throws SQLException {
		Connection conn = Conexao.obterConexao();

		String sql = "UPDATE conta SET " 
				+ " agencia = "+conta.getAgencia()+", " 
				+ " numero = "+conta.getNumero()+", "
				+ " saldo = "+conta.getSaldo()+" "
				+  "WHERE cliente_id = "+conta.getIdCliente();

		PreparedStatement stat = conn.prepareStatement(sql);

		stat.executeUpdate();
		
	}

	public void delete(int id) throws SQLException {
		Connection conn = Conexao.obterConexao();
		String sql = "DELETE FROM conta WHERE cliente_id = "+id;

		PreparedStatement stat = conn.prepareStatement(sql);	
		
		stat.execute();
		
	}
	 
	
}
